home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 3
/
Gold Medal Software - Volume 3 (Gold Medal) (1994).iso
/
bbsutils
/
thtmt227.arj
/
CHECK.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-02-15
|
5KB
|
318 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
;------------------------------------------------------------------------------
FDefIn 1
FDefOut 2
FOpen 1, PPEPath() + PPEName() + ".cnf", 0, 0
FGet 1, STRING010
FGet 1, STRING020
FGet 1, STRING021
FGet 1, STRING019
FGet 1, STRING009
FClose 1
If (STRING010 == NoChar()) Goto LABEL014
GetUser
STRING001 = 3
INTEGER002 = 0
INTEGER003 = 0
INTEGER004 = 0
INTEGER005 = 0
FOpen 1, PPEPath() + "tht-info.cfg", 0, 0
FGet 1, STRING002
FClose 1
Tokenize U_Name()
If (TokCount() == 3) Then
GetToken STRING016
GetToken STRING017
GetToken STRING018
STRING016 = Strip(STRING016, " ")
STRING018 = Strip(STRING018, " ")
STRING016 = Strip(STRING016, ".")
STRING018 = Strip(STRING018, ".")
STRING016 = Left(STRING016, 3)
STRING017 = Right(STRING018, 4)
If (Exist(PPEPath() + "apps\" + STRING016 + "_" + STRING017 + ".vot")) Then
Else
GetToken STRING016
GetToken STRING017
STRING016 = Strip(STRING016, " ")
STRING017 = Strip(STRING017, " ")
STRING016 = Strip(STRING016, ".")
STRING017 = Strip(STRING017, ".")
STRING016 = Left(STRING016, 3)
STRING017 = Right(STRING017, 4)
If (Exist(PPEPath() + "apps\" + STRING016 + "_" + STRING017 + ".vot")) Then
Endif
FOpen 2, PPEPath() + "apps\" + STRING016 + "_" + STRING017 + ".vot", 0, 0
:LABEL001
If (Ferr(2)) Goto LABEL003
FGet 2, STRING011
Tokenize STRING011
If (TokCount() == 4) Then
GetToken STRING012
GetToken STRING013
GetToken STRING014
GetToken STRING015
If (STRING015 == "Y") Inc INTEGER004
If (STRING015 == "N") Inc INTEGER005
If (INTEGER004 >= STRING020) Goto LABEL003
If (INTEGER005 >= STRING021) Goto LABEL003
Goto LABEL002
Endif
If (TokCount() == 3) Then
GetToken STRING012
GetToken STRING013
GetToken STRING014
AnsiPos 30, STRING001
If (STRING014 == "Y") Inc INTEGER004
If (STRING014 == "N") Inc INTEGER005
If (INTEGER004 >= STRING020) Goto LABEL003
If (INTEGER005 >= STRING021) Goto LABEL003
Goto LABEL002
Endif
If (TokCount() == 2) Then
GetToken STRING012
GetToken STRING013
AnsiPos 30, STRING001
If (STRING013 == "Y") Inc INTEGER004
If (STRING013 == "N") Inc INTEGER005
If (INTEGER004 >= STRING020) Goto LABEL003
If (INTEGER005 >= STRING021) Goto LABEL003
Inc STRING001
Endif
:LABEL002
Goto LABEL001
:LABEL003
STRING007 = INTEGER004
STRING008 = INTEGER005
FClose 2
Cls
AnsiPos 7, 1
PrintLn "@X7ENew User@X7F'@X7Es Voting Results @X7Ffrom @X74Master Beta @X7F@ @X74<<@X7ETHT@X74>>@X07"
AnsiPos 30, 2
PrintLn "@X1Fv 2@X1F.@X1C07@X07"
AnsiPos 6, 3
PrintLn "@X34╔════════════════════════════════════════════════════╗@X07"
AnsiPos 6, 4
PrintLn "@X34║ @X3E" + U_Name() + "@POS:25@" + " @X30" + U_City + "@POS:59@@X34║@X07"
AnsiPos 6, 5
PrintLn "@X34║ @X39Your Current Stats @POS:59@@X34║@X07"
AnsiPos 6, 6
PrintLn "@X34║@POS:59@@X34║@X07"
AnsiPos 6, 7
PrintLn "@X04@X34║@X38Votes for You> @X30" + STRING007 + "@POS:59@@X34║@X07"
AnsiPos 6, 8
PrintLn "@X34║@POS:59@@X34║@X07"
AnsiPos 6, 9
PrintLn "@X34║@X38Votes against You> @X30" + STRING008 + "@POS:59@@X34║@X07"
AnsiPos 6, 10
PrintLn "@X34║@POS:59@║@X07"
AnsiPos 6, 11
PrintLn "@X34║@X3EYou Need @X31" + STRING020 + "@X3E Votes to gain Access to the Board" + "@POS:59@@X34║@X07"
AnsiPos 6, 12
PrintLn "@X34║@POS:59@║@X07"
AnsiPos 6, 13
PrintLn "@X34╚════════════════════════════════════════════════════╝@X07"
FreshLine
Wait
If (INTEGER004 >= STRING020) Goto LABEL004
If (INTEGER005 >= STRING021) Goto LABEL009
If (STRING009 == YesChar()) Goodbye
Goto LABEL014
:LABEL004
U_Sec = STRING019
PutUser
AnsiPos 6, 14
PrintLn "@X0EYou have been accepted as a @X0CUSER @X0Eon this Board@X07"
FOpen 1, PPEPath() + "apps\waiting.app", 2, 0
FAppend 2, PPEPath() + "apps\waiting.tmp", 1, 0
:LABEL005
If (Ferr(1)) Goto LABEL007
FGet 1, STRING004
Tokenize STRING004
GetToken STRING005
GetToken STRING006
If (STRING004 == "") Goto LABEL008
If ((STRING005 + " " + STRING006 == U_Name()) || (STRING005 == U_Name())) Then
PrintLn
Goto LABEL006
Endif
FPutLn 2, STRING004
:LABEL006
Goto LABEL005
:LABEL007
FClose 2
:LABEL008
FClose 1
FClose 2
Copy PPEPath() + "APPS\waiting.tmp", PPEPath() + "APPS\waiting.app"
Delete PPEPath() + "APPS\waiting.tmp"
Delete PPEPath() + "apps\" + STRING016 + "_" + STRING017 + ".vot"
Delete PPEPath() + "apps\" + STRING016 + "_" + STRING017 + ".GRP"
Delete PPEPath() + "apps\" + STRING016 + "_" + STRING017 + ".cmt"
For STRING003 = STRING002 To 1 Step -1
Delete PPEPath() + "apps\" + STRING016 + "_" + STRING017 + "." + STRING003
Next
Wait
Goto LABEL014
:LABEL009
PrintLn "@X0CSorry but your Application has been Refused@X8C!!!!@X07"
U_Sec = "0"
PutUser
FOpen 1, PPEPath() + "apps\waiting.app", 2, 0
FAppend 2, PPEPath() + "apps\waiting.tmp", 1, 0
:LABEL010
If (Ferr(1)) Goto LABEL012
FGet 1, STRING004
Tokenize STRING004
GetToken STRING005
GetToken STRING006
If (STRING004 == "") Goto LABEL013
If ((STRING005 + " " + STRING006 == U_Name()) || (STRING005 == U_Name())) Then
PrintLn
Goto LABEL011
Endif
FPutLn 2, STRING004
:LABEL011
Goto LABEL010
:LABEL012
:LABEL013
FClose 2
FClose 1
Copy PPEPath() + "APPS\waiting.tmp", PPEPath() + "APPS\waiting.app"
Delete PPEPath() + "APPS\waiting.tmp"
Hangup
Goto LABEL014
Endif
Endif
:LABEL014
FClose 1
FClose 2
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 1 Cls
; 2 Wait
; 37 Goto
; 23 Let
; 17 PrintLn
; 30 If
; 5 FOpen
; 2 FAppend
; 10 FClose
; 9 FGet
; 2 FPutLn
; 1 Hangup
; 1 GetUser
; 2 PutUser
; 6 Delete
; 7 Inc
; 4 Tokenize
; 18 GetToken
; 1 Goodbye
; 16 AnsiPos
; 1 FreshLine
; 1 FDefIn
; 1 FDefOut
; 2 Copy
;
;
; ■ Functions used :
;
; 3 -
; 66 +
; 18 ==
; 1 <
; 1 <=
; 10 >=
; 12 !
; 2 &&
; 3 ||
; 2 Left()
; 2 Right()
; 3 Ferr()
; 6 U_Name()
; 1 NoChar()
; 1 YesChar()
; 8 Strip()
; 19 PPEPath()
; 2 Exist()
; 1 PPEName()
; 4 TokCount()
;
;------------------------------------------------------------------------------
;
; Analysis flags : WB
;
; W - Write user ■ 5
; Program writes a user record. Although this may be normal for a
; User Editor, it may also be a way to modify an account level.
; ■ Search for : PUTUSER
;
; B - Brute hangup ■ 1
; Program hangup without notification. This may be a good way to
; disconnect a user, but if used randomly, may be very nasty
; ■ Search for : HANGUP, DTROFF
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 0 While/EndWhile
; 8 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------